package cn.fl.ass.transform;

import java.util.ArrayList;
import java.util.List;

import cn.fl.ass.vo.AssTrailCarDInfVO;
import cn.cmm.base.framework.utils.CollectionUtils;
import fl.ass.facade.dto.AssTrailCarDInfDTO;

 /**
 * @Description: 拖车实际信息明细表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class AssTrailCarDInfVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto AssTrailCarDInfDTO
	 * @return AssTrailCarDInfVO
	 */
	public static AssTrailCarDInfVO toVO(AssTrailCarDInfDTO dto) {
		AssTrailCarDInfVO  vo = null;
		if (dto != null) { 
			vo = new AssTrailCarDInfVO();
			vo.setId(dto.getId());
			vo.setMasterId(dto.getMasterId());//拖车主表ID
			vo.setDetailId(dto.getDetailId());//拖车明细表ID
			vo.setFutureAmt(dto.getFutureAmt());//未来本金
			vo.setOverRentAmt(dto.getOverRentAmt());//逾期租金
			vo.setOverInterestAmt(dto.getOverInterestAmt());//逾期利息
			vo.setPerformanceAmt(dto.getPerformanceAmt());//履约保证金
			vo.setInsureAmt(dto.getInsureAmt());//保险保证金
			vo.setRiskAmt(dto.getRiskAmt());//风险保证金
			vo.setOtherAmt(dto.getOtherAmt());//其他费用
			vo.setBaseAmt(dto.getBaseAmt());//一次保底价
			vo.setActPayDt(dto.getActPayDt());//实际支付日期
			vo.setActPayAmt(dto.getActPayAmt());//实际支付金额
			vo.setActBackPlace(dto.getActBackPlace());//实际拖回地点
			vo.setActParkingPlace(dto.getActParkingPlace());//实际存放地点
			vo.setActBackDt(dto.getActBackDt());//实际拖回日期
			vo.setBackManager(dto.getBackManager());//清收负责人
			vo.setBackPersonQty(dto.getBackPersonQty());//清收人数
			vo.setIsNeedHelp(dto.getIsNeedHelp());//是否借助风控队 1-是 0-否
			vo.setBackRoute(dto.getBackRoute());//车辆清收路线
			vo.setEmergencyPlan(dto.getEmergencyPlan());//应急预案
			vo.setIsDel(dto.getIsDel());//是否删除 1-删除 0-正常
			vo.setMarketAmt(dto.getMarketAmt());
			vo.setMarketDt(dto.getMarketDt());
            vo.setBadDebts(dto.getBadDebts());// 坏账拨备
			
			vo.setPaySchNo(dto.getPaySchNo());//支付表号
			vo.setPNo(dto.getPNo());//流程编号
			vo.setpInstId(dto.getpInstId());//流程实例Id

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo AssTrailCarDInfVO
	 * @return AssTrailCarDInfDTO
	 */
	public static AssTrailCarDInfDTO toDTO(AssTrailCarDInfVO vo) {
		AssTrailCarDInfDTO dto = null;
		if (vo != null) {
			dto = new AssTrailCarDInfDTO();
			dto.setId(vo.getId());
			dto.setMasterId(vo.getMasterId());//拖车主表ID
			dto.setDetailId(vo.getDetailId());//拖车明细表ID
			dto.setFutureAmt(vo.getFutureAmt());//未来本金
			dto.setOverRentAmt(vo.getOverRentAmt());//逾期租金
			dto.setOverInterestAmt(vo.getOverInterestAmt());//逾期利息
			dto.setPerformanceAmt(vo.getPerformanceAmt());//履约保证金
			dto.setInsureAmt(vo.getInsureAmt());//保险保证金
			dto.setRiskAmt(vo.getRiskAmt());//风险保证金
			dto.setOtherAmt(vo.getOtherAmt());//其他费用
			dto.setBaseAmt(vo.getBaseAmt());//一次保底价
			dto.setActPayDt(vo.getActPayDt());//实际支付日期
			dto.setActPayAmt(vo.getActPayAmt());//实际支付金额
			dto.setActBackPlace(vo.getActBackPlace());//实际拖回地点
			dto.setActParkingPlace(vo.getActParkingPlace());//实际存放地点
			dto.setActBackDt(vo.getActBackDt());//实际拖回日期
			dto.setBackManager(vo.getBackManager());//清收负责人
			dto.setBackPersonQty(vo.getBackPersonQty());//清收人数
			dto.setIsNeedHelp(vo.getIsNeedHelp());//是否借助风控队 1-是 0-否
			dto.setBackRoute(vo.getBackRoute());//车辆清收路线
			dto.setEmergencyPlan(vo.getEmergencyPlan());//应急预案
			dto.setIsDel(vo.getIsDel());//是否删除 1-删除 0-正常
			dto.setMarketAmt(vo.getMarketAmt());
			dto.setMarketDt(vo.getMarketDt());
            dto.setBadDebts(vo.getBadDebts());// 坏账拨备
			
			dto.setPaySchNo(vo.getPaySchNo());//支付表号
			dto.setPNo(vo.getPNo());//流程编号
			dto.setpInstId(vo.getpInstId());//流程实例ID
			
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list
	 * @return List<AssTrailCarDInfVO>
	 */
	public static List<AssTrailCarDInfVO> toVOList(List<AssTrailCarDInfDTO> list) {
		List<AssTrailCarDInfVO>  voList = new ArrayList<AssTrailCarDInfVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AssTrailCarDInfDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<AssTrailCarDInfVO>
	 * @return List<AssTrailCarDInfDTO>
	 */
	public static List<AssTrailCarDInfDTO> toDTOList(List<AssTrailCarDInfVO> list) {
		List<AssTrailCarDInfDTO>  dtoList = new ArrayList<AssTrailCarDInfDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AssTrailCarDInfVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
